package com.naiterui.ehp.bs.cms.modules.user.vo.record;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.naiterui.ehp.bs.cms.common.json.Dict;
import com.naiterui.ehp.bs.cms.common.json.Url;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author guoyongxiang
 * @date 2020/2/17 15:40
 * @since 1.0.0
 */
@Data
@JsonIgnoreProperties
public class ReocrdUserBaseInfoVO implements java.io.Serializable {

    public static final Integer USER_TYPE_DR = 1;
    public static final Integer USER_TYPE_PH = 2;

    private static final long serialVersionUID = 7394456229915739317L;
    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @Dict(type = "user_type")
    @ApiModelProperty(value = "用户类别(1:医生,2:药师)")
    private Integer userType;

    @ApiModelProperty(value = "账户类别(0:正式,1:测试)")
    private Integer accountType;

    @ApiModelProperty(value = "姓名")
    private String name;

    @Dict(type = "doctor_title")
    @ApiModelProperty(value = "职称")
    private Integer titleId;

    @ApiModelProperty(value = "第一执业机构ID(医院ID)")
    private Long hopitalId;

    @ApiModelProperty(value = "第一执业机构名称(医院名称)")
    private String hospitalName;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "医生认证状态(0:未认证,1:已认证,2:未通过,3:再次申请认证,4:未提交资料,5:资料不完善)")
    private Integer status;

    @ApiModelProperty(value = "备案平台审核状态(0:未申请,1:待审核,2:审核通过,3:审核不通过)")
    private Integer recordStatus;

    @ApiModelProperty(value = "备案状态 0:未申请备案，1:备案审核中，2:备案成功，3:备案失败")
    private Integer doctorRecordStatus;

    @ApiModelProperty(value = "身份证号")
    private String idCardNum;

    @ApiModelProperty(value = "执业证号")
    private String pracNum;

    @ApiModelProperty(value = "资格证号")
    private String certNum;

    @ApiModelProperty(value = "身份证图片列表")
    @Url(config = "ehp.domain.img", deserialize = true)
    private List<String> idCardUrls;

    @ApiModelProperty(value = "执业证图片列表")
    @Url(config = "ehp.domain.img", deserialize = true)
    private List<String> pracUrls;

    @ApiModelProperty(value = "资格证图片列表")
    @Url(config = "ehp.domain.img", deserialize = true)
    private List<String> certUrls;

    @ApiModelProperty(value = "用户头像")
    @Url(config = "ehp.domain.img", deserialize = true)
    private String headUrl;

    @Url(config = "ehp.domain.img", deserialize = true)
    @ApiModelProperty(value = "电子签图片")
    private String sealImage;

    @Url(config = "ehp.domain.img", deserialize = true)
    private String electronic;

    @ApiModelProperty("电子邮箱")
    private String email;
}
